let app = getApp();
const extConfig = app.siteInfo;
const isCompanyCloudTemplate = Number(extConfig.isCloudTemplate) === 1 ? true : false;

Component({
  properties: {
    currentIndex: {
      type: Number,
      value: 0,
    },
    opt: {
      type: String,
      value: '',
    },
  },
  data: {
    cutlist: app.tabInfo, // 定义顶部切换的小程序,
    width: 0, // 定义切换项的宽度
    classFirst: 'activefir',
    end: 0, // 小程序的个数
    isshow: false,
  },
  methods: {
    innit() {
      let that = this;
      let moduleName = getCurrentPages()[0].route.split('/')[0];
      if (app.tabInfo && app.tabInfo.length > 1) {
        app.util.getCurrentTabInfo().then(function (res) {
          if (res && res.showModule && res.showModule.length > 1) {
            let init_number = 0;
            for (let i = 0; i < app.tabInfo.length; i++) {
              if (app.tabInfo[i].module === moduleName) {
                init_number = 1;
              }
            }
            if (init_number === 0) {
              that.redirectToMainModule();
            } else {
              that.setData({
                currentIndex: res.selected,
                end: res.showModule.length,
                cutlist: res.showModule,
                isshow: true,
              });
            }
          } else {
            // 如果用户进入的页面直接是辅程序的时候，这个小程序关闭才进行，否则不进行任何操作；==朱志阳
            if (moduleName === app.siteInfo.module) return;
            that.redirectToMainModule();
          }
        });
      } else {
        that.setData({
          isshow: false,
        });
      }
    },
    // 跳转到小程序的主模块首页；
    redirectToMainModule: function () {
      wx.showToast({
        title: '该模块已关闭!',
      });
      setTimeout(function () {
        let url = `/${app.tabInfo[0].homePage}`;
        wx.reLaunch({
          url: url, // 个别小程序没有底部tabbar，若走公共方法会使用wx.navigateto，造成有返回按钮，为避免出现按钮，用了reLaunch
        });
      }, 1500);
    },
    // 1.获取tabbar的内容
    // 3.点击切换的时候动态的改变tabbar的值；
    // 4.根据模块名称来判断首页的路径，点击之后跳转到首页，然后更改底部页面切换的tabbar的值；
    tabClick(e) {
      //   this.setData({ //注释时间 2018/09/13
      //     currentIndex: Number(e.currentTarget.dataset.index),
      //   })
      // add 时间2018/09/13
      if (app.tabInfo[Number(e.currentTarget.dataset.index)].module === 'ws_webpage_applet') {
        // 当tab切换为网页小程序时 则什么也不做 保持tab被选中的状态
      } else {
        this.setData({
          currentIndex: Number(e.currentTarget.dataset.index),
        });
      }
      // tabbar
      let modulename = e.currentTarget.dataset.module;
      this.search(modulename, Number(e.currentTarget.dataset.index));
      // 初始化
      app.onLaunch({
        modules: modulename,
      });
      // app.js中记录值；
      app.tabbarindex = Number(e.currentTarget.dataset.index);
      // wx.setNavigationBarTitle({
      //   title: windowConfig.navigationBarTitleText || '',
      // });
    },
    // 公用跳转方法；
    toIndex(url, num) {
      wx.hideLoading();
      wx.reLaunch({
        url: url,
      });
    },
    // 获取当前的模块的首页路径；
    search(modulename, num) {
      let that = this;
      for (let i = 0; i < app.tabInfo.length; i++) {
        if (app.tabInfo[i].module === modulename) {
          if (app.tabInfo[i].tabBar.list.length > 2) {
            let url = '/' + app.tabInfo[i].tabBar.list[0].pagePath;
            if (modulename === 'ws_retailshop_rz') { // 连锁店入驻版 2019/04/10
              url = '/' + app.tabInfo[i].homePage;
              that.toIndex(url, num);
            } else if (modulename === 'ws_webpage_applet') {
              app.util.navigateTo(url);
            } else {
              that.toIndex(url, num);
            }
          } else {
            let url = '/' + app.tabInfo[i].homePage;
            if (modulename === 'ws_webpage_applet') {
              app.util.navigateTo(url);
            } else {
              that.toIndex(url, num);
            }
          }
        }
      }
    },
  },
  ready() {
    if (isCompanyCloudTemplate) {
      return;
    }
    this.innit();
  },
});
